The present invention relates to computer memory systems, and more specifically, to improved efficiency in systems that support active memory sharing (AMS).
Virtualization is the creation of substitutes for real computer resources, that is, substitutes that have the same functions and external interfaces as their counterparts, but that differ in attributes, such as size, performance, and cost. These substitutes are called virtual resources, and their users are typically unaware of the substitution. Virtualization is commonly applied to physical hardware resources by combining multiple physical resources into shared pools from which users receive virtual resources. With virtualization, one physical resource can look like multiple resources. Virtualization of resources such as servers, storage, and networks can be used to create an on demand, secure, and flexible computing infrastructure.
System virtualization creates many virtual systems within a single physical system. Virtual systems are independent operating environments that use virtual resources. System virtualization can be approached through hardware partitioning or hypervisor technology. Hardware partitioning subdivides a physical server into fractions, each of which can run an operating system. These fractions are typically created with coarse units of allocation, such as whole processors or physical boards. This type of virtualization allows for hardware consolidation, but does not have the full benefits of resource sharing and emulation offered by hypervisors. Hypervisors use a thin layer of code in software or firmware to achieve fine-grained, dynamic resource sharing. Because hypervisors provide the greatest level of flexibility in how virtual resources are defined and managed, they are the primary technology for system virtualization.
Shared memory is physical memory that is assigned to a shared memory pool and shared among multiple logical partitions (LPARs). The shared memory pool is a defined collection of physical memory blocks that are managed as a single memory pool by the hypervisor. LPARs that are configured to use the shared memory pool are referred to as “shared memory partitions” and they share the memory in the pool with other shared memory LPARs.